<!--
  Copyright JS Foundation and other contributors, http://js.foundation

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<script type="text/html" data-help-name="csv">
    <p>Convierte entre una cadena con formato CSV y su representación de objeto JavaScript, en cualquier dirección.</p>
    <h3>Entradas</h3>
    <dl class="message-properties">
        <dt>payload<span class="property-type">objeto | matriz | texto</span></dt>
        <dd>Un objeto JavaScript, una matriz o una cadena CSV.</dd>
    </dl>
    <h3>Salidas</h3>
    <dl class="message-properties">
        <dt>payload<span class="property-type">objeto | matriz | texto</span></dt>
        <dd>
        <ul>
            <li>Si la entrada es una cadena, intenta analizarla como CSV y crea un objeto JavaScript de pares clave/valor para cada línea.
                Luego, el nodo enviará un mensaje para cada línea o un mensaje único que contenga una serie de objetos.</li>
            <li>Si la entrada es un objeto JavaScript, intenta crear una cadena CSV.</li>
            <li>Si la entrada es una matriz de valores simples, crea una cadena CSV de una sola línea.</li>
            <li>Si la entrada es una matriz de matrices o una matriz de objetos, se crea una cadena CSV de varias líneas.</li>
        </ul>
        </dd>
    </dl>
    <h3>Detalles</h3>
    <p>La plantilla de columnas puede contener una lista ordenada de nombres de columnas. Al convertir CSV en un objeto, los nombres de las columnas se utilizarán como nombres de propiedades. Alternativamente, los nombres de las columnas se pueden tomar de la primera fila del CSV.</p>
    <p>Al convertir a CSV, la plantilla de columnas se utiliza para identificar qué propiedades extraer del objeto y en qué orden.</p>
    <p>Si la plantilla de columnas está en blanco, puede utilizar una lista simple de propiedades separadas por comas proporcionada en <code>msg.columns</code> para determinar qué extraer y en qué orden. Si ninguno de los dos está presente, todas las propiedades del objeto se muestran en el orden en que se encuentran en la primera fila.</p>
    <p>Si la entrada es una matriz, entonces la plantilla de columnas solo se usa para generar opcionalmente una fila de títulos de columnas.</p>
    <p>Si se marca la opción 'analizar valores numéricos', los valores numéricos de cadena se devolverán como números, es decir. valor de enmedio '1, "1,5", 2'.</p>
    <p>Si se marca la opción 'incluir cadenas vacías', se devolverán cadenas vacías como resultado, es decir. valor de enmedio '"1","",3'.</p>
    <p>Si se marca la opción 'incluir valores nulos', se devolverán valores nulos como resultado, es decir. valor de enmedio '"1",,3'.</p>
    <p>El nodo puede aceptar una entrada de varias partes siempre que la propiedad <code>parts</code> esté configurada correctamente, por ejemplo, desde un nodo de entrada de archivo o un nodo dividido.</p>
    <p>Si genera varios mensajes, tendrán su propiedad <code>parts</code> configurada y formarán una secuencia de mensajes completa.</p>
    <p>Si el nodo está configurado para enviar encabezados de columna solo una vez, si se configura <code>msg.reset</code> en cualquier valor hará que el nodo reenvíe los encabezados.</p>
    <p><b>Nota:</b> la plantilla de columna debe estar separada por comas, incluso si se elige un separador diferente para los datos.</p>
</script>
